package com.gpframework.module.wages.domain.req;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import javax.validation.constraints.*;

import java.util.Date;
import java.math.BigDecimal;

/**
 * @ClassName GzMonthlyReceiptOfGoodsAdd
 * @Author gpframework
 * @Date 2024-01-19
 * @Version 1.0.0
 * @Description 收货月度Add对象
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public class GzMonthlyReceiptOfGoodsAdd {
    private static final long serialVersionUID = 1L;

    /** 月份 */
    @JsonFormat(pattern = "yyyy-MM")
    @ApiModelProperty("月份")
    private Date month;

    /** 小条 */
    @ApiModelProperty("小条")
    private Long smallBar=0L;

    /** 小条单价 */
    @ApiModelProperty("小条单价")
    private BigDecimal smallBarUnitPrice=new BigDecimal(0);

    /** 小条金额 */
    @ApiModelProperty("小条金额")
    private BigDecimal smallBarAmount=new BigDecimal(0);

    /** 大条 */
    @ApiModelProperty("大条")
    private Long bigBar=0L;

    /** 大条单价 */
    @ApiModelProperty("大条单价")
    private BigDecimal unitPriceOfLargeBars=new BigDecimal(0);

    /** 大条金额 */
    @ApiModelProperty("大条金额")
    private BigDecimal largeBarAmount=new BigDecimal(0);

    /** 退货再加 */
    @ApiModelProperty("退货再加")
    private Long returnAndAdd=0L;

    /** 退货再加单价 */
    @ApiModelProperty("退货再加单价")
    private BigDecimal returnPlusUnitPrice=new BigDecimal(0);

    /** 退货再加金额 */
    @ApiModelProperty("退货再加金额")
    private BigDecimal returnPlusAmount=new BigDecimal(0);

    /** 休假补贴 */
    @ApiModelProperty("休假补贴")
    private BigDecimal vacationAllowance=new BigDecimal(0);

    /** 扣减补贴 */
    @ApiModelProperty("扣减补贴")
    private BigDecimal deductionOfSubsidies=new BigDecimal(0);

    /** 收货实发 */
    @ApiModelProperty("收货实发")
    private BigDecimal receivedAndActuallyShipped=new BigDecimal(0);

    /** 队长额外补贴 */
    @ApiModelProperty("队长额外补贴")
    private BigDecimal captainAdditionalSubsidy=new BigDecimal(0);

    /** 额外补贴单价 */
    @ApiModelProperty("额外补贴单价")
    private BigDecimal additionalSubsidyUnitPrice=new BigDecimal(0);

    /** 实发合计 */
    @ApiModelProperty("实发合计")
    private BigDecimal totalPaidIn;

    /** 排序 */
    @ApiModelProperty("排序")
    private Long sort;

    /** 备注 */
    @ApiModelProperty("备注")
    private String remarks;

    /** 部门 */
    @ApiModelProperty("部门")
    private String departmentName;

}
